
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Dubbo中如何应对雪崩效应 - 学习卡片</title>
      <style>
        body { font-family: sans-serif; background-color: #f0f8ff; color: #333; display: flex; flex-direction: column; align-items: center; padding: 50px 20px; }
        .header h1 { font-size: 32px; }
        .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; width: 100%; max-width: 1200px; }
        .card-container { perspective: 1200px; cursor: pointer; height: 250px; }
        .card { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform 0.7s; border-radius: 16px; box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
        .card-container.flipped .card { transform: rotateY(180deg); }
        .card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; flex-direction: column; box-sizing: border-box; border-radius: 16px; background-color: #fff; padding: 24px; }
        .card-back { background-color: #f0fff4; transform: rotateY(180deg); justify-content: space-between; }
        .card-category { font-size: 14px; color: #0052d9; margin-bottom: 8px; font-weight: 500; }
        .card-question { font-size: 20px; font-weight: 500; flex-grow: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
        .card-answer-wrapper { flex-grow: 1; overflow-y: auto; }
        .card-answer { font-size: 15px; line-height: 1.7; }
        .card-footer { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 16px; margin-top: 16px; }
        .card-source { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 12px; margin-top: 12px; }
      </style>
    </head>
    <body>
      <div class="header">
        <h1>Dubbo中如何应对雪崩效应 - 学习卡片</h1>
      </div>
      <div class="grid-container">
        
    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">在分布式系统中，“雪崩效应”指的是什么现象？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">雪崩效应是指由于某个服务不可用或响应缓慢，导致依赖该服务的其他服务也无法正常运行，从而引发一系列连锁反应，最终导致整个系统或大部分服务出现故障的现象。这种现象在高并发或强依赖场景下尤为明显。</div>
          </div>
          <div class="card-source">来源: 雪崩效应的定义</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">文档中提到了哪些可能引发雪崩效应的关键触发点？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">文档中提到的关键触发点包括：服务超时、错误传播、资源竞争以及因重试导致的负载飙升。</div>
          </div>
          <div class="card-source">来源: 雪崩效应的定义 - 2. 关键触发点</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">策略</div>
          <div class="card-question">Dubbo应对雪崩效应的核心策略主要围绕哪三个关键技术点展开？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">策略</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">Dubbo应对雪崩效应的策略主要围绕故障隔离（fault isolation）、流量控制（traffic control）和服务降级（service downgrade）这三个关键技术点展开。</div>
          </div>
          <div class="card-source">来源: 应对雪崩效应的策略</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">什么是熔断机制（Circuit Breaker）？它在熔断后如何尝试恢复？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">熔断机制是一种防止故障蔓延的技术，当它检测到某个服务的错误率或超时达到阈值时，会立即“熔断”对该服务的调用。恢复时，熔断器会进入“半开状态”，尝试让部分请求通过以观察服务健康状态，如果服务恢复正常，熔断器便会自动关闭。</div>
          </div>
          <div class="card-source">来源: 应对雪崩效应的策略 - 1. 熔断机制（Circuit Breaker）</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">Dubbo中实现服务隔离（Service Isolation）的两种主要方式是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">在Dubbo中，服务隔离主要通过两种方式实现：1. 线程池隔离，为每个服务配置独立的线程池，防止一个服务的崩溃占用其他服务的资源。2. 资源隔离，对服务使用的数据库连接池、缓存等资源进行隔离。</div>
          </div>
          <div class="card-source">来源: 应对雪崩效应的策略 - 3. 服务隔离（Service Isolation）</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">策略</div>
          <div class="card-question">服务降级（Service Downgrade）的目的是什么？它分为哪两种类型？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">策略</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">服务降级的目的是在系统负载过高或服务故障时，主动降低部分功能或服务质量，以确保核心功能的可用性。它分为两种类型：自动降级（根据响应时间或故障率自动执行）和手动降级（由管理员根据系统负载情况手动操作）。</div>
          </div>
          <div class="card-source">来源: 应对雪崩效应的策略 - 4. 服务降级（Service Downgrade）</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">为什么过度的重试机制会成为雪崩效应的成因之一？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">当上游服务已经无法处理现有请求时，大量的重试请求会进一步加重其负担，形成恶性循环，最终可能导致该服务彻底崩溃，并将问题范围扩散，从而加剧雪崩效应。</div>
          </div>
          <div class="card-source">来源: 雪崩效应的成因 - 3. 过度重试机制</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">为了有效监控并预警雪崩效应，应该关注哪些关键的服务指标？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">应关注的关键指标包括：响应时间（平均和最大）、错误率（超时、异常、断路等）、QPS（每秒查询率）、线程池状态（活跃线程数、待处理任务数）以及资源使用情况（CPU、内存、网络IO）。</div>
          </div>
          <div class="card-source">来源: 监控与预警 - 1. 监控指标的选择</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">除了常见的随机和轮询算法，Dubbo还支持哪些负载均衡策略？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">除了随机和轮询，Dubbo还支持最少活跃调用（Least Active）、加权随机（Weighted Random）和哈希（Hash）等负载均衡策略。</div>
          </div>
          <div class="card-source">来源: 负载均衡与资源管理 - 2. 负载均衡算法</div>
        </div>
      </div>
    </div>

      </div>
    </body>
    </html>
